package com.xjrccb.chapter1.util;

import org.slf4j.LoggerFactory;
import org.slf4j.Logger;

import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.util.Properties;

public final class PropsUtil {
	private static final Logger LOGGER= LoggerFactory.getLogger(PropsUtil.class);

	/* 加载文件 */
	public static Properties loadProps(String filename) {
		Properties props=null;
		InputStream is=null;
		try {
			is=Thread.currentThread().getContextClassLoader().getResourceAsStream(filename);
			if (is == null) {
				throw new FileNotFoundException(filename + "file is not found");
			}
			props=new Properties();
			props.load(is);
		} catch (IOException e) {
			LOGGER.error("load perperties file failure", e);
		} finally {
			if (is != null) {
				try {
					is.close();
				} catch (IOException e) {
					LOGGER.error("close input stream failure", e);
				}
			}
		}
		return props;
	}

	/* 读取字符属性 */
	public static String getString(Properties props, String key) {
		return getString(props, key);
	}
	public static String getString(Properties props, String key, String defaultValue) {
		String value=defaultValue;
		if (props.containsKey(key)) {
			value=props.getProperty(key);
		}
		return value;
	}
}
